1. Field of the Invention
This invention relates generally to the software version change process. In particular, this invention provides for a version change process that analyzes prior operating system and software application usage.
2. Description of the Related Art
It is not uncommon for software customers to wait years after an operating system has been released before upgrading to a subsequent release. Sometimes, customers wait several generations of new releases before upgrading. Generally, customers are concerned that upgrading their operating system immediately after a new release is made available will lead to breakage because of incompatibility between preexisting applications and a newer operating system. Indeed, delay or no delay, customers are still required to allocate considerable resources to test all of the possible compatibility issues. Often, resolving compatibility issues means installing the newly released version of the operating system on a separate computer system and, in many cases, manually conducting test cases to make sure applications work correctly with the newer version of the operating system. Testing becomes increasingly complex in systems with multiple interdependent software applications.
Technology companies in the business of developing operating systems are also significantly impacted. These companies typically expend considerable resources to support older operating system versions. For example, support center engineers are required to understand the functionality associated with each new release. In addition, code fixes that affect all released versions of a software product requires that the company package, build, and distribute the code fixes to customers for all supported releases. These challenges are compounded as the technology company continues to support an ever increasing number of older operating system releases.
Thus, it would be useful to have a technology that anticipates potential problems associated with an operating system upgrade. Indeed, any computer system software with multiple interdependencies would benefit from such a technology. A technology is needed that assists in testing the compatibility of a new operating system version release with preexisting applications by identifying potential problems before executing an upgrade.